package com.plan.dao.service.card;

import com.plan.controller.card.request.CompleteAllReq;
import com.plan.entity.card.Card;
import com.plan.entity.card.DayPlan;
import com.plan.entity.card.DayPlanStat;
import com.plan.entity.card.PointLog;

import java.util.List;

public interface DayPlanDaoService {
    Long insertDayPlan(DayPlan plan, DayPlanStat dayStat);

    void update(DayPlan update, Card updateCard);

    void complete(DayPlan update, Card updateCard, PointLog pointLog);

    void delete(Long dayPlanId, DayPlanStat dayStat, Long id);

    void copyDayPlanList(Long teamId, Long cardId, List<DayPlan> copyList, List<Integer> dayList);

    void copyOneDayPlanList(DayPlanStat stat, List<DayPlan> copyList);

    void completeForIdList(CompleteAllReq req);

    int realDeleteByCardId(Long teamId, Long cardId);
}
